package com.online.questionnaire.model;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 问卷表
 * @TableName surveys
 */
@TableName(value ="surveys")
@Data
public class Surveys implements Serializable {

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;


    /**
     * 标题
     */
    @TableField(value = "title")
    private String title;

    /**
     * 问卷类型 0 一页到底 1一题一页（备用）
     */
    @TableField(value = "type")
    private Integer type;

    /**
     * 是否允许重复提交 0 不允许 1允许  默认不允许
     */
    @TableField(value = "isRepeated")
    private Integer isRepeated;

    /**
     * 提交次数
     */
    @TableField(exist = false)
    private Long submitNum;

    /**
     * 题目数量
     */
    @TableField(exist = false)
    private Integer questionNum;


    /**
     * 是否需要登录 0 不需要 1需要登录
     */
    @TableField(value = "isLogin")
    private Integer isLogin;

    /**
     * 是否为模板 0 否 1是
     */
    @TableField(value = "isTemplate")
    private Integer isTemplate;

    /**
     * 模板使用人数
     */
    @TableField(value = "templateNum")
    private Integer templateNum;

    /**
     * 封面图片
     */
    @TableField(value = "cover")
    private String cover;

    /**
     * 模板标签 JSON字符串
     *
     */
    @TableField(value = "tags")
    private String tags;

    /**
     * 背景图片
     */
    @TableField(value = "bgimg")
    private String bgimg;

    /**
     * 描述
     */
    @TableField(value = "description")
    private String description;

    /**
     * 状态 0 未发布 1已发布 2已关闭
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 开始时间
     */
    @TableField(value = "startTime")
    private Date starttime;

    /**
     * 结束时间
     */
    @TableField(value = "endTime")
    private Date endtime;

    /**
     * 其他配置
     */
    @TableField(value = "config")
    private String config;

    /**
     * 创建用户
     */
    @TableField(value = "createUserId")
    private Long createuserid;

    /**
     * 创建用户 名称
     */
    @TableField(exist = false)
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField(value = "createTime")
    private Date createtime;

    /**
     * 修改时间
     */
    @TableField(value = "updateTime")
    private Date updatetime;

    /**
     * 逻辑删除
     */
    @TableLogic
    private Integer isDelete;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}